zhuanlan.zhihu.com
这里写文章的前言:
本文旨在帮助一些希望入门CS的同学亦或是最近刚刚更换新的Windows电脑的伙伴重新从0开始配置一些Windows基础设置,提高电脑的好用效率,毕竟如孔子所言“工欲善其事,必先利其器”
📝 主旨内容
0. 前置条件
本文的内容虽然很简单,但仍然列出了一些前置条件,对于不满足的读者,可以在完成前置条件后再阅读本文。
- 本文内容基于 Windows 10/ Windows 11。
- 了解 Shell、终端、cmd、powershell 等概念。如果你刚刚接触编程,还弄不清楚这些名词之间的关系,可以先行了解。
- 了解包管理器的作用。如果没有使用过包管理器,或者完全不了解包管理器的概念的话,可以搜索 apt、homebrew 等关键词,快速了解其作用。
- 掌握科学的上网姿势。作为一名开发者,如果缺乏科学的上网姿势,将会常常遇到不方便的问题。关于如何以科学的姿势上网,本文不做讲解,需要大家自行掌握。
1. 使用 Powershell 作为默认终端
终端是程序员使用频率相当高的工具,提到 Windows 的终端,很多人的第一反应还是 cmd,过时且丑陋难用。幸运的是,微软已经开发了现代设计的新终端:Windows Terminal,并预装在了 Windows 10/11 系统中。可以尝试在本机搜索应用「Windows Terminal」或「终端」:
图1
如搜索不到,说明系统较老,没有得到预装,可以在 Microsoft Store 中搜索「Windows Terminal」安装即可,如图:
图2
最后,我们将其配置为默认终端,打开「设置」→ 「隐私和安全性」→「开发者选项」→「终端」,选择 Windows Terminal 即可,如图:
图3
2. 配置 PowerShell
2.1 安装最新版本的 PowerShell
作为开发人员,和终端命令打交道是必不可少的,Linux 和 MacOS 上都有诸多 Shell 可供选择,如 Bash、ZSH、Fish 等等,其中 ZSH、Fish 等选择可以通过安装插件提供诸如语法高亮、命令自动补全等功能,极大提高工作效率。而在 Windows 系统上,最官方正统的当然就是 PowerShell 了,其实通过简单的配置,PowerShell 也可以拥有不少方便的功能。
首先,我们先安装最新版本的 PowerShell。打开 Windows Terminal,此时应该可以看到标签页上已经显示了「Windows PowerShell」的字样,是的,此时打开的已经是预装的 PowerShell 了,但预装的版本往往比较旧,因此我们先装最新版本的 PowerShell,输入命令
winget search powershell :图4
可以看到目前的最新版本是 7.3.4,输入命令
winget install Microsoft.PowerShell 进行安装,安装成功后,重新打开 Windows Terminal,可以看到标签组里多了一个 PowerShell 的选项,这就是我们安装的最新版本的 PowerShell:图5
可以在 Windows Terminal 的设置中选择最新版本的 PowerShell 作为默认启动项
2.2 配置 PSReadLine
接下来我们使用 PSReadLine 来提升终端工作效率。PSReadLine 是 PowerShell 的官方模块,旨在为 PowerShell 控制台提供强大的命令行编辑体验,其功能包括:
- 命令行的语法着色
- 语法错误的直观指示
- 编辑和历史记录
- 可自定义的键绑定
- 预测 IntelliSense
等等。如何使用这样强大的模块呢?其实非常简单,只要编辑 PowerShell 的配置文件即可,在终端输入命令:
$PROFILE,可以看到 PowerShell 配置文件的路径,使用文本编辑器,如记事本、VSCode 等打开并进行编辑,这里提供一份示例:PSReadLine 还提供有相当多的功能,这里列出 PSReadLine 的一些相关文档和网站:
如果希望定制功能,可以参考文档自己 DIY,只需要按照示例的样子填写到 PowerShell 配置文件里就可以了。当然,现如今你也可以完全询问ChatGPT、Claude关于具体的定制功能,同时可以直接下载Claude Code、Codex等工具,直接让他们在终端里帮你配置。
3. 安装 Scoop 包管理器
接下来介绍 Windows 的包管理器。什么是包管理器呢?一言以蔽之,就是终端下的软件商店,和苹果的 App Store、微软的 Microsoft Store 的概念差不多,只不过是用命令行来交互罢了。终端命令行下的软件商店,自然非常适合安装开发者工具啦,尤其是那些没有 GUI 的开发工具。Windows 的开发体验,一直以来一直被诟病的问题之一就是包括缺少良好的包管理器。如果细心观察会发现,和 Linux、MacOS 相比,网络上存在大量教学「如何在 Windows 上安装 XXX 软件/开发环境」的文章,一般的教学步骤都是先去官网下载软件包,然后使用下载好的软件包进行安装,最后讲解如何配置环境变量等等。然而如果有包管理器,这样的安装过程将会非常简单,只需要一条命令,包管理器就会自动地帮你下载、安装软件,并自动配置好环境变量。
还记得上文安装 PowerShell 时提到的「winget」么?这就是一个包管理器,只要
winget install 软件名 这样的命令就完成了软件的安装与环境配置,是不是非常简单呢?不过本文要推荐的包管理器,并不是微软官方的 winget,而是第三方的 Scoop。笔者一向推崇原生、官方的软件,但是在长期的使用中,必须要承认 scoop 目前要比 winget 好用太多了,非常适合安装开发工具/环境。Scoop 对干净、简洁的追求,例如避免环境变量污染、避免安装和卸载时的副产品、使用 portable 的软件包等等,完美符合系统洁癖型用户的需求,更多 Scoop 的信息可以参见官网:Scoop。接下来,我们进行 Scoop 的安装和使用简介,使用 Windows Terminal 打开 PowerShell,并输入以下命令:等待安装完成后,输入 scoop 并回车,如果看到以下的画面就说明安装成功了:
图6
首次使用时,建议输入
scoop checkup 命令,可以看到缺少一些必要的软件,如 7zip、innounp、dark、git 等,按照提示进行安装即可。Scoop 的使用和一般的包管理器差不多,例如使用 scoop search 软件包 进行搜索,使用 scoop install 软件包 安装软件,scoop list 会展示列出所有已安装的软件,scoop uninstall 软件包 可以卸载已安装的软件等等。如果你从来没有使用过包管理器,推荐去 Scoop 的官方网站了解更多内容,可以阅读文档了解更详细的使用方法。这里就可以使用scoop来下载一些本人常用的开发工具,仅供参考,大家可以按需下载自己想要的软件
同时附上winget的下载命令
说明与建议:
- PyCharm 版本:脚本默认安装的是免费的 PyCharm Community 版。若需要 Professional 专业版,可将 ID 替换为
JetBrains.PyCharm.Professional。
- Microsoft 365 (Word/Excel/PowerPoint):
Microsoft.Office整合包包含 Word、Excel、PowerPoint 等完整套件。
- 环境生效:安装完成后,建议重启计算机或重启 PowerShell 窗口,以确保环境变量正确加载。
- 全局安装(可选):Scoop 默认将软件安装在当前用户目录(
C:\Users\<用户名>\scoop)。如需安装给系统所有用户,可在scoop install后加上-g参数(此项操作需要管理员权限)。
- 提示:参数
--silent会开启无界面静默安装;--accept-package-agreements和--accept-source-agreements会自动同意软件许可协议,避免安装过程中弹窗提示确认。
4. 安装 WSL
上述的一系列配置都是为了提升 Windows 下的开发体验,但如果你非常希望拥有完全的 Linux 开发环境,同时又不希望放弃 Windows 便利的娱乐影音和丰富的软件资源,那么微软推出的 WSL 技术将很好的满足你的需求。WSL 提供了几乎完整的 Linux,同时各大主流的 IDE/编辑器,如 VScode、JetBrains 等,都提供了良好的开箱即用的支持。WSL 的安装非常简单,使用 Windows Terminal 打开 PowerShell,键入命令:
然后一步步等待安装完成即可。安装完成后可以在开始菜单看到 Ubuntu 的图标,点击进去后就是 WSL 提供的 Linux 系统,更方便的进入方式是直接使用 Windows Terminal,重新打开 Windows Terminal,可以看到标签组中已经多了 Linux 的选择:
图7
默认安装的 Linux 发行版是 Ubuntu,如果想选择其他的版本,或者想了解更多信息,可以浏览官方文档:适用于 Linux 的 Windows 子系统文档 | Microsoft Learn。
5. 终端配置与美化
前面的内容介绍了终端、Shell、包管理器、WSL 的等内容,如果你是第一次接触,那么应该可以获得明显的体验提升。不过俗话说颜值也是一种生产力,因此在本文的最后一部分,将会介绍一些终端美化的配置。由于 WSL 和真实的 Linux 环境基本一致,而 Linux 终端美化的文章已有很多,因此本文以 PowerShell 作为例子,不过很多配置都是通用的。首先放出效果图:
图8
为了实现这样的效果,我们首先需要安装 Nerd Fonts 字体,Nerd Fonts 是一大类字体,和一般的字体相比,Nerd Fonts 字体提供了更丰富的字符集,可以更好地支持终端下的显示效果,Windows 下推荐 CascadiaCode-NF-Mono 字体,可以很方便的使用 scoop 进行安装:
安装成功后,重新打开 Windows Terminal,并修改终端字体:
图9
字体搞定之后,使用 scoop 安装 oh-my-posh:
安装成功后,打开 PowerShell 的配置文件
$PROFILE ,增加一行:注意其中的
atomic.omp.json ,这是我们选择的主题,如果想尝试其他的主题,仅修改这部分就可以了,更多的 oh my posh 文档和主题信息,可以浏览官网:Home | Oh My Posh。最后,我们再调整一下配色方案就大功告成了。这里推荐一个 Github repo:https://github.com/mbadolato/iTerm2-Color-Schemes,里面提供了相当多的配色方案,且支持相当多的终端软件,使用 git clone 下来:
完成后进入 windowsterminal 子目录,里面的每一个 json 文件都对应了一种配色方案,比如选择 shades-of-purple.json。打开 Windows Terminal 的设置页面,点击左下角的「打开 JSON 文件」:
图10
打开配置文件后,在 schemes 节点粘贴 shades-of-purple.json 文件中的内容:
图11
保存文件后,回到 Windows Terminal 的设置,将配色方案选择 shades-of-purple 就大功告成了。
🤗 总结归纳
本文的内容并不针对任何的技术栈,而是从 Shell 配置、终端配置和包管理器配置的角度出发,提供一些经验和建议,我相信任何技术栈的开发者都可以受益。需要注明的是,本人并不是 Windows 技术栈的开发者,也不是 Windows 专家,因此本文中的某些内容或许并不是最优方案,如果有可以提高的地方,欢迎大家提出和交流,共同学习进步~


